package com.day6.codec;

import com.day6.protocol.Packet;
import com.day6.protocol.PacketCodeC;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;

/**
 * 专注于加码逻辑，区分day5的解码方法,可以直接获取ByteBuf对象data,
 * 不需要用ctx.alloc().ioBuffer()不再需要再把创建完的 ByteBuf 进行返回，多浪费JVM空间啊，netty自己管理
 */
public class PacketEncoder extends MessageToByteEncoder<Packet> {

    @Override
    protected void encode(ChannelHandlerContext ctx, Packet packet, ByteBuf out) {
        PacketCodeC.INSTANCE.encode(out, packet);
    }
}
